home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Guides / HTML / amiganews.pl < prev    next >
Perl Script  |  1999-09-12  |  1KB  |  61 lines

  1. #!/bin/perl
  2. # replace amiga-news links in amiga-news page $1
  3.  
  4. #$home= "file:/usr/people/mueller/an";
  5. #$extbeg="<font color=blue>"; $extend="</font>";
  6. $home="file://AMINET32:Guides/HTML";
  7. $extbeg="<i>"; $extend="</i>";
  8.  
  9. open(IN,$ARGV[0]) || die;
  10. while (<IN>) {
  11.  
  12.   #s#(<a href="http://www.kdh-datentechnik) 
  13.  
  14.   $line=$_;
  15.  
  16.   for ($i=0; $i<length($line); $i++) {
  17.     $c=substr($line,$i,1);
  18.     if ($c ne "<") {print "$c"; next}
  19.  
  20.     $_=substr($line, $i);
  21.     if (/^<a /i) {
  22.       ($_)=m/^([^>]*)/;
  23.  
  24.       $cgi     = m#\.cgi# && !m#amiga-news.de#;
  25.       $extlink = m#http://# && !m#amiga-news.de#;
  26.       $extlink|= m#mailto:# && !m#amiga-news.de#;
  27.       $extlink|= m#ftp://# && !m#amiga-news.de#;
  28.       $extlink|=$cgi;
  29.  
  30.       if (!$cgi) {
  31.         s#http://www.amiga-news.de/"#$home/index.html"#;
  32.         s#http://www.amiga-news.de"#$home/index.html"#;
  33.         s#http://www.amiga-news.de#$home#;
  34.       }
  35.  
  36.       print "$_>";
  37.       print "$extbeg" if $extlink;
  38.  
  39.       $n=index($line, ">", $i);
  40.       $i= $n>=0 ? $n : $i;
  41.       next;
  42.     }
  43.  
  44.     if (m#^</a#i) {
  45.       #if ($extlink) {
  46.       #  print "<img width=14 height=14 border=0 src='$home/pics/red-ball.gif'><";
  47.       #} else {
  48.       #  print "<" if !$extlink;
  49.       #}
  50.  
  51.       print "$extend" if $extlink;
  52.       print "<";
  53.  
  54.       $extlink=0;
  55.       next;
  56.     }
  57.  
  58.     print "<";
  59.   }
  60. }
  61.